package com.xiaoc.bulldozer.common.service;

import java.util.List;
import com.xiaoc.bulldozer.common.dto.MaterialDocumentQueryDto;
import com.xiaoc.bulldozer.common.model.MaterialDocument;

/**
 * MaterialDocument Service 接口
 * 
 * @author Danfo Yam
 * 
 * @date 2018-09-04 17:44:28
 */
public interface MaterialDocumentService {

    /**
     * 根据条件查询MaterialDocument数量
     
     * @param MaterialDocumentQueryDto
     *
     * @return 满足查询条件的记录数量
     */
    public Integer getMaterialDocumentCountByCondition(MaterialDocumentQueryDto materialDocumentQueryDto);
    
    /**
     * 根据条件分页查询MaterialDocument列表
     *
     * @param MaterialDocumentQueryDto
     *
     * @return 满足查询条件的MaterialDocument列表
     */
    public List<MaterialDocument> getMaterialDocumentListByCondition(MaterialDocumentQueryDto materialDocumentQueryDto);
    
    /**
     * 根据Id获取MaterialDocument
     * 
     * @param id
     *
     * @return MaterialDocument对象
     */
    public MaterialDocument getMaterialDocumentById(Integer id);

    /**
     * 获取所有MaterialDocument列表
     * 
     * @return MaterialDocument列表
     */
    public List<MaterialDocument> getAllMaterialDocumentList();

    /**
     * 新增MaterialDocument
     * 
     * @param materialDocument
     *
     * @return void
     */
    public void save(MaterialDocument materialDocument);

    /**
     * 更新MaterialDocument
     * 
     * @param materialDocument
     *
     * @return void
     */
    public void update(MaterialDocument materialDocument);

    /**
     * 根据Id删除MaterialDocument
     * 
     * @param id
     *
     * @return void
     */
    public void deleteById(Integer id);


    /**
     *根据类型与状态获取物料列表
     * @param type
     * @param status
     * @return
     */
    public List<MaterialDocument> getMaterialDocumentListByTypeAndStatus(int type, int status);


}
